home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d8 / tshare.arc / NEW14H.DOC < prev    next >
Text File  |  1991-01-10  |  11KB  |  263 lines

  1.                 /===========\
  2.                 |  NEW14H   |
  3.                 \===========/
  4.  
  5.             Computing Resource Center
  6.             2116 Wilshire Blvd. #202
  7.             Santa Monica, Ca.    90405
  8.             Attn: Marty Ross
  9.  
  10. Release:    2.1, 08/01/84
  11. By:            Marty Ross, at the Computing Resource Center
  12. System:     IBM-PC with standard communications adapter (COM:)
  13. Requirements:    Tested using PC-DOS 2.0/2.1, 128K or larger PC preferred.
  14. Contribution:    Suggested $10.00; puts you on CRC mailing list.
  15.  
  16. Abstract:    NEW14H is a DOS-extension (resident program) which intercepts
  17.         calls made to the BIOS communication application interrupt
  18.         (INT 14H), and adds extended functions to the communication
  19.         repertoire.  The program maintains a 32K input buffer, and
  20.         a 255 byte output buffer, and uses both input and output
  21.         hardware interrupts for maximum efficiency.
  22.  
  23.         If none of this makes any sense, then you don't need NEW14H
  24.         unless you are using application software which requires it.
  25.         NEW14H is of primary interest to communication software 
  26.         developers only.
  27.  
  28. Distribution:    I am distributing this preliminery version freely,
  29.         in hopes to stimulate interest and feedback.  No fee
  30.         may be charged, and this document must accompany the
  31.         program(s) documented herein. 
  32.  
  33. Features:    NEW14H provides a more accurate way to read characters from
  34.         the communication port.  The application program need not
  35.         keep up on a character basis with the incoming data: a 32K
  36.         circular input buffer is used and always updated while any
  37.         normal PC software executes.  If NEW14H is installed on two
  38.         ports, then each port has 32K input buffer so is independant
  39.         from the other device.  See extended function calls in .ASM
  40.         excerpt for details on extended functions provided by NEW14H.
  41.  
  42. Usage:        There are three steps necessary to activate NEW14H so that
  43.         it may be used to by application software:
  44.  
  45.             1.)  Initialize PC-DOS
  46.             2.)  Install the NEW14H communication enhancements
  47.             4.)  Initialize the COM: port for desired baud/parity
  48.                  (NEW14H DOES NOT DO THIS: USE PC-DOS "MODE.COM")
  49.  
  50.         A typical installation sequence (which can be combined into
  51.         a .BAT file, such as "AUTOEXEC.BAT"):
  52.  
  53.  
  54.         +---------------------------------------------------------+
  55.         |                              |
  56.        (1)    |    <ALT>+<CTL>+<DEL> ...                  |
  57.         |                              |
  58.         |    IBM Disk Operating System              |
  59.         |    Version 2.xx ...                  |
  60.         |                              |
  61.        (2)    |    A>new14h                      |
  62.         |    NEW14H - 2.x - 08/01/84 - M.Ross @CRC, (C) 1984      |
  63.         |    Auxiliary COM1: port driver active.          |
  64.         |                              |
  65.        (3)    |    A>mode com1:300,n,8                  |
  66.         |      COM1:300,n,8,-                  |
  67.         |                              |
  68.         |    A>_                          |
  69.         |                              |
  70.         +---------------------------------------------------------+
  71.  
  72. Why NEW14H?:    NEW14H was written because the BIOS counterpart is severely
  73.         deficient, and does not even use the powerful interrupt cap-
  74.         abilities on the communication devices used in the IBM-PC.
  75.         NEW14H intercepts the common calls made to the BIOS services
  76.         for async communication, and although not tested for transp-
  77.         arency, was modeled after the old INT 14H so that existing
  78.         application software can take advantage of the enhancements
  79.         provided without modification.  Additional calls provided by
  80.         NEW14H also add a degree of power to the INT 14H system inter-
  81.         rupt which software developers can use for convenience, and
  82.         power which previously was possible only by taking care of
  83.         all the details of communication themselves, detracting from
  84.         their overall purpose.
  85.  
  86.  
  87. Disclaimer:    Though I've tested INT14H under varying conditions, I cannot
  88.         guarantee that it will work in every case/PC configuration.
  89.         Also, I suggest you use caution when using INT14H in new
  90.         situations (on two ports, etc): I will not be liable for any
  91.         damage caused by NEW14H, but would like to be informed if any
  92.         undesireable interactions occur.  Please write me.
  93.  
  94.  
  95. On-line help:    For on-line info, type "NEW14H ?" which will cause the following 
  96.         display:
  97.  
  98.    +----------------------------------------------------------------------+
  99.    |    syntax:                                      |
  100.    |            new14h [port#]                          |
  101.    |    port#:                                      |
  102.    |            1 - COM1:                          |
  103.    |            2 - COM2:                          |
  104.    |                                          |
  105.    |       You can use the PC-DOS "MODE" command to initialize              |
  106.    |    or change the channel baud rate, and parity settings              |
  107.    |    (e.g. "MODE COM1:300,E,7").                          |
  108.    |                                          |
  109.    |       The communication channel will occupy approximately              |
  110.    |    33K of memory, and will remain active until CTL-ALT-DEL.          |
  111.    |                                          |
  112.    +----------------------------------------------------------------------+    
  113.  
  114.     which indicates that you may install NEW14H on either the COM1: or
  115.     the COM2: port by specifying the port number.  
  116.  
  117.     NOTE: As indicated above, NEW14H does not automatically initialize
  118.           the selected communication port for baud rate or parity set-
  119.           tings.  Use the PC-DOS 'MODE' command for this purpose BEFORE
  120.           attempting to use the port for communication.
  121.  
  122.  
  123. Technical specs:  (excerpt from source program):
  124. ----------------
  125.  
  126.         TITLE    NEW14H - Enhanced communications driver for COM adapter
  127.  
  128.  NEW14H - Replacement driver for PC BIOS INT 14 call.
  129.  
  130.  NOTICE:  This code the property of the Computing Resource Center, a 
  131.       Santa Monica based data processing firm.  It may not be sold
  132.       or modified without the explicit permission of Marty Ross, at CRC.
  133.  
  134.     Defines interrupt driver COMmunication "channel," and intercepts 
  135.     INT 14H for UART INIT, character READ/WRITE, and other added functions.
  136.  
  137.     NOTE: This version supports only one buffer configuration:
  138.         
  139.         256 byte OUTPUT buffer
  140.         32K byte INPUT buffer
  141.  
  142.     Both lists are treated as circular character lists, and an error 
  143.     return is indicated for output overflow by the TIMEOUT BIT, and 
  144.     and the value EOF in AL.  Application must process incoming data
  145.     fast enough so as not to allow more than 32K (size of input buffer)
  146.     of data to remain un-processed (READ via RECV_CODE function call).
  147.  
  148.    functions intercepted (replaced):
  149.     
  150.     code(AH)    function        added feature(s)
  151.     
  152.     0        INITIALIZE UART        Re-enables interrupt system
  153.     1        SEND CHARACTER        Interrupt driven, buffered.
  154.     2        RECEIVE CHARACTER    Interrupt driven, buffered.
  155.                         NOTE: will HANG for TIMEOUTCNT
  156.     3        RETURN MSR & LSR
  157.  
  158.    as with old INT 14H, B7 of AH returned is timeout bit (as per TIMEOUTCNT),
  159.    and AH will always return with value of line status (bits 0-6).
  160.  
  161.    added functions:
  162.  
  163.     80h        RETURN VERSION NUMBER OF THIS DRIVER IN AH, AL.
  164.             MAJOR VERSION # WILL NOT EXCEED 9, SO IF AH RETURNS
  165.             WITH VALUE > 9, THIS PROGRAM IS NOT INSTALLED AND 
  166.             'ADDED' SUB-FUNCTIONS (BELOW) SHOULD NOT BE USED.
  167.     84h        RETURN SIZE OF COMMUNICATION BUFFER
  168.     85h        FLUSH COMMUNICATION BUFFER
  169.     86h        CHECK FOR ANY CHARACTERS IN BUFFER/RETURN Z IF NONE
  170.             IF CHAR(S) EXIST, FIRST CHAR RETURNED IN AL
  171.     87h        SEND BREAK SIGNAL OVER SELECTED PORT
  172.     88h        RETURN 0 in AX if no chars in buffer, else non zero
  173.     89h        Re-ENABLE interrupts (after initializing baud rate)
  174.             (since we don't intercept SET BAUD RATE function,
  175.             must use BIOS' which disables our interrupts!).
  176.     8AH        This call allows caller to predict whether I/O is
  177.             currently taking place (at the device level).  If
  178.             char(s) received since last call, AL will be NZ.
  179.  
  180.    As usual (for INT 14H), DX must contain PORT # (0,1 valid).
  181.    I.E. 0=COM1, 1=COM2, etc.
  182.  
  183.  
  184. About the Author:
  185.  
  186.         Marty Ross is a consultant for the Computing Resource Center,
  187.         a Santa Monica based data processing firm.  CRC uses the IBM
  188.         VM/SP operating system to provide its clients with an inter-
  189.         active method to access popular data handling facilities,
  190.         such as SAS, PL/1, FORTRAN, and the On-Line Data System, CRC's
  191.         own database management product.  Recently, CRC has purchased
  192.         IBM-PC's to link many of its remote clients to the mainframe 
  193.         system.  To facilitate compatibility with other microcomputers
  194.         and terminals, CRC has operated a public access DEMOnstration 
  195.         account and bulletin board system where    anyone with a terminal
  196.         can call to find out about our services, rates, or expertise.
  197.         Because of this, keep your eye out for more communication
  198.         software from CRC: especially if interested in the elusive
  199.         "micro -> mainframe link" which seems to be in a state of
  200.         constant re-definition in other data processing circles.
  201.  
  202.  
  203. ----------------------------
  204.  
  205. [1]  NEW14H will be destroyed by programs such as BASIC or BASICA which 
  206.      re-define the communication interrupt driver(s).
  207.  
  208. ------------------------------------------------------------------------------
  209.  
  210.                    /========\
  211.                    | NEW14H |
  212.                    \========/
  213.  
  214.                 Comments?   
  215.                 Can you use NEW14H?  
  216.  
  217.  
  218. Name:       _________________________________________________________
  219.  
  220.  
  221. Address:    _________________________________________________________
  222.  
  223.             _________________________________________________________
  224.  
  225.             _________________________________________________________
  226.  
  227.  
  228.         ---------------------------------------------------------
  229.         
  230.  
  231. Comments:   _________________________________________________________
  232.  
  233.             _________________________________________________________
  234.  
  235.             _________________________________________________________
  236.  
  237.             _________________________________________________________
  238.  
  239.             _________________________________________________________
  240.  
  241.             _________________________________________________________
  242.  
  243.             _________________________________________________________
  244.  
  245.             _________________________________________________________
  246.  
  247.             _________________________________________________________
  248.  
  249.             _________________________________________________________
  250.  
  251.             _________________________________________________________
  252.  
  253.  
  254.     If you feel NEW14H contributes to your effectiveness, then please let
  255.     me know by sending a donation of $10.00 or whatever you feel is ap-
  256.     propriate.  NEW14H was developed in my spare time, and is now not a
  257.     commercial effort of CRC.  I will continue to develop products like
  258.     NEW14H for those who show interest - provided I can afford it.  Users
  259.     who make contributions will be entitled to a single sided diskette
  260.     of other utilities I've developed while at CRC: please include your
  261.     name and return address when sending donations!
  262.  
  263.